package xyz.eden.cloud.common.web.support.domain.gateway;



import xyz.eden.cloud.common.web.support.domain.ability.model.BaseInfo;
import xyz.eden.cloud.common.web.support.domain.ability.model.BaseQuery;
import xyz.eden.cloud.common.web.support.domain.ability.model.PageInfo;

import java.util.List;

/**
 * BaseQueryGateway
 */
public interface BaseQueryGateway<Model extends BaseInfo, Query extends BaseQuery> {

    Model getInfoById(Long id);

    List<Model> getInfoByParam(Query query);

    PageInfo<Model> getPageInfoByParam(int pageNumber, int pageSize, Query query);

}
